package com.BXuan.mybatis.mapper;

import com.BXuan.mybatis.pojo.User;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface NewMapper {

    /**
     * 根据用户id查询用户
     * @param id 用户id
     * @return 用户对象
     */
    User getUserById(@Param("id") int id);

    /**
     * 查询所有User对象
     * @return 所有User对象
     */
    List<User> getUserList();

    /**
     * 查询单个数据
     * @return 返回数据数量
     */
    int getCount();

    /**
     * 查询一条数据封装成map
     * @param id 用户id
     * @return map数据
     */
    Map<String, Object> getUserMapById(@Param("id") int id);

    /**
     * 查询多条数据为map集合
     * 方式一：转换成List数据结构存储
     * @return UserMapList对象
     */
    List<Map<String, Object>> getUserMapList01();
    /**
     * 查询多条数据为map集合
     * 方式二：添加关键字
     * @return 关键字转换对象
     */
    @MapKey(value = "id")
    Map<String, Object> getUserMap02();
}
